#include<iostream>
using namespace std;


//1.Leetcode 112
//class Solution {
//public:
//    bool _hasPathSum(TreeNode* root, const int targetSum, int sum) {
//        if (root == nullptr) return false;
//        sum += root->val;
//
//        if (root->left == nullptr && root->right == nullptr)
//            return sum == targetSum;
//
//        return _hasPathSum(root->left, targetSum, sum) || _hasPathSum(root->right, targetSum, sum);
//    }
//
//    bool hasPathSum(TreeNode* root, int targetSum) {
//        if (!root) return false;
//        int mysum = 0;
//        return _hasPathSum(root, targetSum, mysum);
//    }
//};


//Leetcode 231
//class Solution {
//public:
//    bool isPowerOfTwo(int n) {
//        if (n < 0) return false;
//
//        n = abs(n);
//        int bit = 1;
//        for (int i = 0; i < 32; ++i) {
//            if (bit << i == n) return true;
//        }
//        return false;
//    }
//};